//作业:使用open write close的形式去创建一个大文件,
// 内容从指定的文本中随机取一些（每次取得长度内容可以不一样）,
// 计算出这个大文件出现最多的字符(要使用流的形式).
let fs = require("fs");     

var str = "qwertyuiopasdfghjklzxcvbnm";

let fd = fs.openSync("./zuoye.txt","a");
for(let i = 0;i<1000;i++){
    var str11 = suiJi(Math.ceil(Math.random()*str.length));//ceil向上取整
    fs.writeFileSync(fd,str11);
}
fs.closeSync(fd);

var rs = fs.createReadStream("./zuoye.txt",'utf-8');
var max=0;
var char="";
var o={};
rs.on('data',function(chunk){
    for(var k=0;k<chunk.length;k++){
        if(o[chunk[k]]){
            o[chunk[k]]++;
        }else{
            o[chunk[k]]=1;
        }
    }

    for (var key in o) {
        if (o[key]>max){
            max=o[key];
            char=key;   
        }
    }
    console.log("该大文件的内容为:"+chunk);
})

rs.on('end',function(){
    console.log("该大文件出现最多的字符为："+char+",次数为:"+max+"次");
})


///随机获取n个字符
function suiJi(n){
    var str1 = "";
    for(let j=0;j<n;j++){
        var xiaBiao=Math.ceil(Math.random()*str.length);
        str1=str1+str[xiaBiao];
    }
    return str1;
};
